package cn.justforchris.system.domain;



import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;


/**
* 
* @TableName tb_menu
*/
@Data
public class Menu implements Serializable {

    /**
    * 主键
    */

    private Long id;
    /**
    * 菜单名称
    */

    private String name;
    /**
    * Vue组件路径
    */

    private String component;
    /**
    * 菜单路由地址
    */

    private String url;
    /**
    * 菜单图标
    */

    private String icon;
    /**
    * 菜单排序
    */

    private Integer index;
    /**
    * 上级菜单Id
    */

    private Long parentId;

    private String parentName;

    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<Menu> children=new ArrayList<>();
     /*这个是用来存放对象的子类型对象,此注解的效果是当children为空时,不返回children属性,
    注意,这个变量名是前端代码决定的,在前端代码中elementUI使用的是children为变量名*/




}
